/* ************************************************************************

   Copyright: Juan Antonio Aldea Armenteros

   License: GPL v3

   Authors: Juan Antonio Aldea Armenteros

************************************************************************ */

qx.Class.define("jabber.Conversacion",
{
  extend : qx.ui.tabview.Page,
  events : { "enviarMensaje" : "qx.event.type.Data" },

  construct : function(jid, nombre)
  {
    this.base(arguments);
    this.setLabel(nombre);
    this.setLayout(new qx.ui.layout.Dock());
    this.setShowCloseButton(true);

    this.__jid = jid;
    this.__nombre = nombre;
    this.__mensajes = new qx.ui.embed.HtmlArea();
    this.__entrada = new qx.ui.form.TextArea();
    this.__mensajes.setValue("");
    this.__mensajes.setEditable(false);

    //ni caso
    //this.__mensajes.block();
    //this.__mensajes.setEnabled(false);
    var htmlDecorator = new qx.ui.decoration.Single(1, "solid", "border-main");

    this.__mensajes.set({ decorator : htmlDecorator });

    this.add(this.__mensajes,
    {
      edge   : 'north',
      height : '80%'
    });

    this.add(this.__entrada,
    {
      edge   : 'south',
      height : '20%'
    });

    this.__entrada.addListener("keypress", function(e)
    {
      if (e.getKeyIdentifier().toLowerCase() == "enter")
      {
        var mensaje = this.__entrada.getValue();

        if (mensaje != null && mensaje.length > 0)
        {
          var mensajeCompleto =
          {
            mensaje : mensaje,
            jid     : Strophe.getBareJidFromJid(this.__jid),
            estado  : "active"
          };

          this.fireDataEvent("enviarMensaje", mensajeCompleto);
          this.__entrada.setValue('');
          this.addMsg("propio", mensajeCompleto.mensaje);
        }

        e.stop();
      }
    },
    this);
  },

  //nada ni puñetero caso
  /*
      this.__mensajes.addListener("activate", function(){
        this.__mensajes.blur();
        this.__entrada.activate();
      }, this);
      */

  members :
  {
    __nombre : null,
    __jid : null,
    __mensajes : null,
    __espaciador : null,
    __entrada : null,


    /**
     * TODOC
     *
     * @param from {var} TODOC
     * @param msg {var} TODOC
     * @return {void}
     */
    addMsg : function(from, msg)
    {
      var clase;
      console.log("mensaje en addMsg" + msg + " " + from + "<--");

      if (from == this.__jid)
      {
        //this.__mensajes.setTextBackgroundColor("F6CEF5");
        clase = 'otro';
      }
      else
      {
        //this.__mensajes.setTextBackgroundColor("CEE3F6");
        clase = 'yo';
        from = instanceConexion.jid();
      }

      var htmlMensaje = "<div class = \"" + clase + "\">" + from + ": " + msg + "</div><br/>\n";

      this.__mensajes.setValue(this.__mensajes.getValue() + htmlMensaje);
      this.__mensajes.setEditable(false);
    },

    //this.__mensajes.removeBackgroundColor();
    /**
     * TODOC
     *
     * @return {var} TODOC
     */
    getJID : function() {
      return this.__jid;
    }
  }
});